package com.aiwiown.face.domain;

import com.aiwiown.face.ApiObject;
import com.aiwiown.face.domain.params.ApiParamType;
import com.aiwiown.face.internal.mapping.ApiField;

/**
 * @ClassName : FaceThousandlandmarkModel
 * @Description :
 * @Author : dbin0123
 * @Date: 2020-05-16 10:01
 */
public class FaceThousandlandmarkModel extends ApiObject {

    private static final long serialVersionUID = 997996804982222516L;


    /**
     * 人脸标识 face_token，优先使用该参数
     */
    @ApiField(value = "face_token")
    private String faceToken;
    /**
     * 图片的 URL
     */
    @ApiField(value = "image_url")
    private String imageUrl;
    /**
     * 图片的二进制文件，需要用 post multipart/form-data 的方式上传。
     */
    @ApiField(value = "image_file", paramType = ApiParamType.FILE)
    private String imageFile;
    /**
     * base64 编码的二进制图片数据 如果同时传入了 image_url、image_file 和 image_base64参数，本 API 使用顺序为image_file 优先，image_url最低
     */
    @ApiField(value = "image_base64")
    private String imageBase64;
    /**
     * 是否检测并返回人脸关键点。合法值为：
     * all
     * 检测并返回所有部位的关键点。
     * （只要参数中包括all，则返回所有部位关键点）
     * left_eyebrow
     * right_eyebrow
     * left_eye
     * left_eye_eyelid
     * right_eye
     * right_eye_eyelid
     * nose
     * mouse
     * face
     * 希望检测并返回的人脸部位。
     * 需要将需要的项目组成一个用逗号分隔的字符串，项目之间的顺序没有要求。
     * 关于各项的详细描述，参见下文“返回值”说明的 "landmarks" 部分。
     */
    @ApiField(value = "return_landmark")
    private String returnLandmark;

    public String getFaceToken() {
        return faceToken;
    }

    public void setFaceToken(String faceToken) {
        this.faceToken = faceToken;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageFile() {
        return imageFile;
    }

    public void setImageFile(String imageFile) {
        this.imageFile = imageFile;
    }

    public String getImageBase64() {
        return imageBase64;
    }

    public void setImageBase64(String imageBase64) {
        this.imageBase64 = imageBase64;
    }

    public String getReturnLandmark() {
        return returnLandmark;
    }

    public void setReturnLandmark(String returnLandmark) {
        this.returnLandmark = returnLandmark;
    }
}
